Изучаем Delphi. Библиотека VCL. Урок 12. Динамическое создание компонентов

Иногда компоненты надо создавать динамически. Например, на форме вашей программы может находится кнопка "Дополнительно...", при нажатии на которую ваша форма должна увеличится в размерах и на ней должны появится дополнительные элементы управления. Именно такой пример мы сейчас и рассмотрим.

Откройте Delphi, уменьшите форму и расположите на ней кнопку Button1. Установите свойство Caption для кнопки в "Дополнительно...":

12_1.gif (8716 b)

Щелкните на кнопке Button1 и внесите в появившуюся заготовку следующий код:

procedure TForm1.Button1Click(Sender: TObject);
var
  btn: TButton; //Переменная для кнопки
  edt: TEdit;   //Переменная для Edit'а
begin
  //Увеличиваем размер формы
  Form1.Height:=Form1.Height+40;
  //Отключаем кнопку
  Button1.Enabled:=false;
  //Создаем новую кнопку
  btn:=TButton.Create(Form1);
  btn.Parent:=Form1;
  //Устанавливаем расположение новой кнопки
  btn.Top:=Form1.Height div 2+20;
  btn.Left:=10;
  btn.Width:=100;
  btn.Height:=25;
  btn.Caption:='Новая кнопка';
  //Создаем новый Edit
  edt:=TEdit.Create(Form1);
  edt.Parent:=Form1;
  //Устанавливаем расположение нового Edit'а
  edt.Top:=Form1.Height div 2+20;
  edt.Left:=120;
  edt.Width:=100;
  edt.Height:=25;
end;

Запускайте программу и нажимайте на кнопку. Форма увеличит размеры и на ней появятся два новых компонента - кнопка и Edit:

12_2.gif (8716 b)



Автор Алексеев Игорь..
Hosted by uCoz